1. Field of the Invention
The invention relates to a system, method and program product for pattern information processing, more particularly in the context of pattern recognition.
Pattern recognition of geometrical objects has been an important topic in artificial intelligence. An important application is in robotics where a robot is required, in certain tasks, to detect objects of given geometrical shapes.
The term xe2x80x9cprogram productxe2x80x9d here means a body of computer code stored by a machine readable storage medium such as a CD-ROM or one or more floppy discs, or made available for downloading from a remote computer site. The computer code may be integrated within a pattern recognition program or artificial intelligence program especially, but not exclusively, in the context of robotics.
One object of the invention is to provide a relatively simple means of deciding if two geometrical objects, each of polygonal shape, are similar, that is, they are geometrically identical except possibly for their size.
The invention comprises a method, system and program product for processing information about a polygonal pattern in the context of pattern recognition in a computer environment. In the invention, a polygonal pattern is analysed. Taking the corners of the pattern in turn in order from a first of the corners through the last of the corners, a first ordered sequence M of values representing the respective scalar distances between each corner of the polygonal pattern and each other corner is formed. The sequence includes (i) the distances between the first of said corners and each other corner in turn and (ii) taking each other corner in turn, the distances between that other corner and each other corner starting with the said first corner, and (iii) including at appropriate positions in the sequence zero values to correspond to the distance between each corner and itself.
The values in the first sequence are then re-ordered to form a second ordered sequence P1 comprising a set of values p1 which includes, for each corner starting with said first corner, values in a series starting with and including the said zero value for that corner and including the other values for that corner in one direction through, the order in which they appear in said first sequence. The values in the second sequence P1 are then converted to respective equal-length character strings representative of the values.
The second ordered sequence P1 may include said set of values p1 twice in succession for the sequence P1 to comprise p1 p1.
Advantageously, the values of said first sequence M are also re-ordered to form a third ordered sequence P2 comprising a set of values p2 which includes, for each corner starting with the said last corner, values in a series starting with and including the said zero value for that corner and including the other values for that corner in the direction opposite to said one direction through the order in which they appear in said first sequence. Meanwhile, in this advantageous embodiment, the values in the third ordered sequence P2 are converted to respective equal-length character strings representative of the values.
The third ordered sequence P2 may include said set of values P2 twice in succession for the sequence P2 to comprise p2 p2.
The values in the second sequence P1 and/or the third sequence P2 can be converted to exponential notation.
Ideally, the values in the first sequence are normalised by dividing each value by the largest value in the sequence prior to normalization.
The first sequence M can be stored and processed as a matrix.
The invention may comprise or be operable for forming values in respect of first polygonal patterns, and comparing the said converted values relating to the first pattern with the converted values relating to the second pattern by way of a computer-coded string-comparison command.
Also, the invention may comprise or be operable for comparing said converted values for said first pattern with predetermined values representative of a selection of further patterns by way of a computer coded string search command.